package org.emet.entity.ash;

import java.math.BigDecimal;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;

import org.emet.jee.console.entity.BaseEntity;
import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;

/**
 * 寄存信息：逝者姓名，家属信息，存放位置天数等信息
 * 
 * @author alex
 * 
 */
@Entity
@Table(name = "t_storage_info")
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class StorageInfo extends BaseEntity {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	private String flowNo;
	/** 制单日期 */
	private Date date;
	private String deceasedName;
	private String deceasedPYName;
	private char deceasedGender;
	private String nationality;
	private String race;
	private Date birthDay;
	private Date dieDay;
	private int age;
	private String dieCause;
	private String nativePlace;
	/** 存放位置 */
	private Long ashItemId;
	private String ashItemCode;
	private String ashItemPosition;
	private BigDecimal ashItemPrice = new BigDecimal(0.00);

	private Date startDay;
	private Date endDay;
	private Date certificateDay;
	private String certificateHolder;
	/** 取走方式 **/
	private String takeWay;
	private boolean isTakeAway = false;
	/** 取走日期 */
	private Date takeAwayDate;
	// 取走人
	private String takeAwayPerson;
	private String takeAwayRemark;
	/** 经办人 */

	private String relativeName;
	private String relativePYName;
	private String idCard;
	private char relativeGender;
	private String relationShip;
	private String phone;
	private String address;
	private String remark;

	/** 是否审核过. */
	private boolean isAudit = false;
	/** 审核人。留个员工号方便查询 */
	private String auditUserSN;
	private String auditUser;

	@Column(nullable = false)
	public String getFlowNo() {
		return flowNo;
	}

	public String getTakeAwayRemark() {
		return takeAwayRemark;
	}

	public void setTakeAwayRemark(String takeAwayRemark) {
		this.takeAwayRemark = takeAwayRemark;
	}

	public void setFlowNo(String flowNo) {
		this.flowNo = flowNo;
	}

	public String getRelativePYName() {
		return relativePYName;
	}

	public void setRelativePYName(String relativePYName) {
		this.relativePYName = relativePYName;
	}

	public String getDeceasedPYName() {
		return deceasedPYName;
	}

	public void setDeceasedPYName(String deceasedPYName) {
		this.deceasedPYName = deceasedPYName;
	}

	@Column(nullable = false)
	public Date getDate() {
		return date;
	}

	public boolean isTakeAway() {
		return isTakeAway;
	}

	public void setTakeAway(boolean isTakeAway) {
		this.isTakeAway = isTakeAway;
	}

	public String getAshItemCode() {
		return ashItemCode;
	}

	public BigDecimal getAshItemPrice() {
		return ashItemPrice;
	}

	public void setAshItemPrice(BigDecimal ashItemPrice) {
		this.ashItemPrice = ashItemPrice;
	}

	public void setAshItemCode(String ashItemCode) {
		this.ashItemCode = ashItemCode;
	}

	public String getAshItemPosition() {
		return ashItemPosition;
	}

	public void setAshItemPosition(String ashItemPosition) {
		this.ashItemPosition = ashItemPosition;
	}

	public void setDate(Date date) {
		this.date = date;
	}

	@Column(nullable = false)
	public String getDeceasedName() {
		return deceasedName;
	}

	public void setDeceasedName(String deceasedName) {
		this.deceasedName = deceasedName;
	}


	public String getNationality() {
		return nationality;
	}

	public void setNationality(String nationality) {
		this.nationality = nationality;
	}

	public String getRace() {
		return race;
	}

	public void setRace(String race) {
		this.race = race;
	}

	public Date getBirthDay() {
		return birthDay;
	}

	public void setBirthDay(Date birthDay) {
		this.birthDay = birthDay;
	}

	public Date getDieDay() {
		return dieDay;
	}

	public void setDieDay(Date dieDay) {
		this.dieDay = dieDay;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public String getDieCause() {
		return dieCause;
	}

	public void setDieCause(String dieCause) {
		this.dieCause = dieCause;
	}

	public String getNativePlace() {
		return nativePlace;
	}

	public void setNativePlace(String nativePlace) {
		this.nativePlace = nativePlace;
	}

	@Column(nullable = false)
	public Date getStartDay() {
		return startDay;
	}

	public void setStartDay(Date startDay) {
		this.startDay = startDay;
	}

	@Column(nullable = false)
	public Date getEndDay() {
		return endDay;
	}

	public void setEndDay(Date endDay) {
		this.endDay = endDay;
	}

	public Date getCertificateDay() {
		return certificateDay;
	}

	public void setCertificateDay(Date certificateDay) {
		this.certificateDay = certificateDay;
	}

	public String getCertificateHolder() {
		return certificateHolder;
	}

	public void setCertificateHolder(String certificateHolder) {
		this.certificateHolder = certificateHolder;
	}

	public String getTakeWay() {
		return takeWay;
	}

	public void setTakeWay(String takeWay) {
		this.takeWay = takeWay;
	}

	@Column(nullable = false)
	public String getRelativeName() {
		return relativeName;
	}

	public void setRelativeName(String relativeName) {
		this.relativeName = relativeName;
	}

	public char getDeceasedGender() {
		return deceasedGender;
	}

	public void setDeceasedGender(char deceasedGender) {
		this.deceasedGender = deceasedGender;
	}

	public char getRelativeGender() {
		return relativeGender;
	}

	public void setRelativeGender(char relativeGender) {
		this.relativeGender = relativeGender;
	}

	public String getRelationShip() {
		return relationShip;
	}

	public void setRelationShip(String relationShip) {
		this.relationShip = relationShip;
	}

	@Column(nullable = false)
	public String getPhone() {
		return phone;
	}

	public void setPhone(String phone) {
		this.phone = phone;
	}

	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public boolean isAudit() {
		return isAudit;
	}

	public void setAudit(boolean isAudit) {
		this.isAudit = isAudit;
	}

	public String getAuditUserSN() {
		return auditUserSN;
	}

	public void setAuditUserSN(String auditUserSN) {
		this.auditUserSN = auditUserSN;
	}

	public String getAuditUser() {
		return auditUser;
	}

	public void setAuditUser(String auditUser) {
		this.auditUser = auditUser;
	}

	public String getIdCard() {
		return idCard;
	}

	public void setIdCard(String idCard) {
		this.idCard = idCard;
	}

	public Long getAshItemId() {
		return ashItemId;
	}

	public void setAshItemId(Long ashItemId) {
		this.ashItemId = ashItemId;
	}

	public Date getTakeAwayDate() {
		return takeAwayDate;
	}

	public void setTakeAwayDate(Date takeAwayDate) {
		this.takeAwayDate = takeAwayDate;
	}

	public String getTakeAwayPerson() {
		return takeAwayPerson;
	}

	public void setTakeAwayPerson(String takeAwayPerson) {
		this.takeAwayPerson = takeAwayPerson;
	}

}
